.viewport {
  height: 100%;
  width: 100%;
  background: #f4f4f4;
  .pics-con {
    position: relative;
    width: 100%;
    height: 700rpx;
    .image {
      width: 100%;
      height: 100%;
    }
    .indicator {
      position: absolute;
      width: 100rpx;
      text-align: center;
      height: 40rpx;
      line-height: 40rpx;
      color: #fff;
      background-color: rgba(0, 0, 0, 0.3);
      font-family: Arial, Helvetica, sans-serif;
      border-radius: 30rpx;
      bottom: 30rpx;
      right: 30rpx;
    }
  }
  .meta {
    background-color: #fff;
    border-bottom: 1rpx solid #eaeaea;
    .price {
      padding: 0 20rpx;
      width: 100%;
      color: #fff;
      line-height: 100rpx;
      background-color: #35c8a9;
      .symbol {
        font-size: 40rpx;
        margin-right: 2rpx;
      }
      .number {
        font-size: 50rpx;
      }
    }
    .title {
      padding: 10rpx 20rpx 0;
      font-size: 32rpx;
      line-height: 60rpx;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .desc {
      padding: 0 20rpx 10rpx;
      font-size: 28rpx;
      line-height: 40rpx;
      color: #e9212b;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
  }

  .action-panel {
    width: 100%;
    .item {
      display: flex;
      height: 80rpx;
      padding: 0 20rpx;
      line-height: 80rpx;
      background: #fff;
      border-bottom: 1rpx solid #eaeaea;
      &:last-child {
        border-bottom: 0 none;
      }
      .label {
        font-size: 26rpx;
        color: #898b94;
        margin-right: 20rpx;
      }
      .text {
        color: #525151;
        flex: 1;
        font-size: 26rpx;
      }
    }

    .arrow {
      position: relative;
      &:after {
        content: '\e6c2';
        color: #ccc;
        font-family: 'erabbit' !important;
        position: absolute;
        line-height: 80rpx;
        width: 50rpx;
        height: 50rpx;
        top: 0;
        right: 20rpx;
      }
    }
  }
  .details-panel {
    width: 100%;
    padding: 0 20rpx;
    margin-top: 20rpx;
    background: #fff;
    margin-bottom: 20rpx;
    .title {
      position: relative;
      padding: 20rpx 0 20rpx 18rpx;
      font-size: 28rpx;
      line-height: 40rpx;
      font-weight: 600;
      color: #333;

      &::before {
        content: '';
        display: inline-block;
        position: absolute;
        top: 25rpx;
        left: 0;
        width: 6rpx;
        height: 30rpx;
        background-color: #27ba9b;
      }
      &.title {
        background-color: #fff;
      }
    }

    .properties {
      .item {
        display: flex;
        padding: 0 10rpx;
        font-size: 28rpx;
        line-height: 70rpx;
        color: #525151;
        border-bottom: 1px solid #eaeaea;

        .label {
          width: 30%;
        }
        .value {
          width: 70%;
        }
      }
    }
    .images {
      width: 100%;
    }
  }
  .hot-panel {
    margin-top: 20rpx;
  }

  .toolbar {
    position: fixed;
    box-sizing: content-box;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: #fff;
    height: 100rpx;
    z-index: 1;
    .icons {
      display: flex;
      align-items: center;
      padding-right: 10rpx;
      flex: 1;
      .icons-button {
        flex: 1;
        text-align: center;
        line-height: 1.4;
        padding: 0;
        margin: 0;
        font-size: 20rpx;
        color: #333;
        background-color: #fff;
        &::after {
          border: none;
        }
        text {
          display: block;
          font-size: 34rpx;
        }
      }
    }
    .buttons {
      display: flex;
      & > view {
        width: 220rpx;
        text-align: center;
        line-height: 72rpx;
        font-size: 26rpx;
        color: #fff;
        border-radius: 72rpx;
      }
      .add-cart {
        background-color: #ffa868;
      }
      .payment {
        background-color: #27ba9b;
        margin-left: 20rpx;
      }
    }
  }

  .recommend-panel {
    .green-title {
      position: relative;
      padding: 20rpx 0 20rpx 38rpx;
      font-size: 28rpx;
      line-height: 40rpx;
      font-weight: 600;
      color: #333;
      background-color: #fff;
      &::before {
        content: '';
        display: inline-block;
        position: absolute;
        top: 25rpx;
        left: 20rpx;
        width: 6rpx;
        height: 30rpx;
        background-color: #27ba9b;
      }
    }
    .container {
      padding: 20rpx 30rpx 0;
      display: flex;
      flex-wrap: wrap;
      .prod {
        width: 340rpx;
        background-color: #fff;
        border-radius: 10rpx;
        padding: 20rpx 10rpx;
        margin-bottom: 40rpx;

        &:nth-child(odd) {
          margin-right: 10rpx;
        }

        .image {
          width: 320rpx;
          height: 280rpx;
        }
        .item-title {
          display: -webkit-box;
          height: 80rpx;
          font-size: 28rpx;
          -webkit-line-clamp: 2;
          -webkit-box-orient: vertical;
          overflow: hidden;
          text-overflow: ellipsis;
          .text {
            display: inline-block;
            width: 320rpx;
          }
        }
        .price {
          width: 100%;
          color: #cf4444;
          line-height: 60rpx;
          .symbol {
            font-size: 24rpx;
            margin-right: 2rpx;
          }
          .number {
            font-size: 32rpx;
          }
        }
      }
    }
  }
}
